package com.xydtech.ecard.ecard.mapper;

import com.xydtech.ecard.ecard.domain.EcardPriorCreditRecord;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电子名片预授信记录Mapper接口
 *
 * @author xydtech
 * @date 2024-05-16
 */
public interface EcardPriorCreditRecordMapper {
    /**
     * 查询电子名片预授信记录
     *
     * @param id 电子名片预授信记录主键
     * @return 电子名片预授信记录
     */
    public EcardPriorCreditRecord selectEcardPriorCreditRecordById(Long id);

    /**
     * 查询电子名片预授信记录列表
     *
     * @param ecardPriorCreditRecord 电子名片预授信记录
     * @return 电子名片预授信记录集合
     */
    public List<EcardPriorCreditRecord> selectEcardPriorCreditRecordList(EcardPriorCreditRecord ecardPriorCreditRecord);

    /**
     * 新增电子名片预授信记录
     *
     * @param ecardPriorCreditRecord 电子名片预授信记录
     * @return 结果
     */
    public int insertEcardPriorCreditRecord(EcardPriorCreditRecord ecardPriorCreditRecord);

    /**
     * 修改电子名片预授信记录
     *
     * @param ecardPriorCreditRecord 电子名片预授信记录
     * @return 结果
     */
    public int updateEcardPriorCreditRecord(EcardPriorCreditRecord ecardPriorCreditRecord);

    /**
     * 删除电子名片预授信记录
     *
     * @param id 电子名片预授信记录主键
     * @return 结果
     */
    public int deleteEcardPriorCreditRecordById(Long id);

    /**
     * 作废预授信信息
     *
     * @param id
     * @return
     */
    public int disusePreCreditSts(Long id);

    /**
     * 根据关联ID作废授信卡
     * @param cardNum
     * @return
     */
    public int disusePreCreditStsByAssId(Long associationId);

    /**
     * 批量删除电子名片预授信记录
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEcardPriorCreditRecordByIds(String[] ids);

    /**
     * 变更预授信记录归属客户经理
     *
     * @author yjs
     * @date 2024/5/16 17:08
     */
    public int updatePriorCreditRecordUserId(@Param("id") Long id, @Param("userId") Long userId, @Param("deptId") Long deptId);

}
